const {
  initFolders,
  initFiles,
  initWatchers
} = require('./init');

//插件出口文件
class ViteDocCreator {
  constructor(options) {
    //配置项
    this.options = {
      //网页title与header文字标题
      title: undefined,
      //生成环境下的端口号
      port: 0,
      //生产环境下的域名
      domain: undefined
    }

    //存在时
    if (options) {
      //合并对象里的属性
      //合并用户配置与默认配置
      Object.assign(this.options, options);
    }

    // console.log(this.options);
    //{ title: 'vite-doc-creator-dev', port: 0, domain: undefined }

    this.inititialize();
  }

  //初始化
  inititialize() {
    //创建项目文件夹
    initFolders(this.options);
    //创建项目文件(css/js/md)
    initFiles(this.options);
    //初始化监听html与markdown文件及文件夹变化的程序
    initWatchers(this.options);
  }
}

//运行在服务器上用commonjs规范
module.exports = ViteDocCreator;